/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ModelLayer;
import java.util.ArrayList;

/**
 *
 * @author Martin
 */
public class Person 
{
    private String navn;
    private String adresse;
    private int tlf;
    private String email;
    private ArrayList<Rolle> roller;
    
    public Person(String navn, String adresse, int tlf, String email)
    {
        this.navn = navn;
        this.adresse = adresse;
        this.tlf = tlf;
        this.email = email;
        roller = new ArrayList<Rolle>();
    }
/**
     * Set og Get metoder for navn
     * @param navn 
     */
    public void setNavn(String navn)
    {
        this.navn = navn;
    }
    public String getNavn()
    {
        return navn;
    }
    /**
     * Set og Get metoder for adresse
     * @param adresse 
     */
    public void setAdresse(String adresse)
    {
        this.adresse = adresse;
    }
    public String getAdresse()
    {
        return adresse;
    }
    /**
     * Set og Get metoder for tlf
     * @param tlf 
     */
    public void setTlf(int tlf)
    {
        this.tlf = tlf;
    }
    public int getTlf()
    {
        return tlf;
    }
    /**
     * Set og Get metoder for email
     * @param email 
     */
    public void setEmail(String email)
    {
        this.email = email;
    }
    public String getEmail()
    {
        return email;
    }
      
    /**
     * Metode der tilføjer en rolle til et Person objekt
     * @param rolle Rollen, der tilføjes
     */
    public void tilfoejRolle(Rolle rolle)
    {
        roller.add(rolle);
    }
    
    /**
     * Metode der henter en given rolle for et Person objekt
     * @param rolle navngivet rolle, der skal hentes
     * @return rolle_2 Rolle objekt
     */
    public Rolle hentRolle(String rolle) 
    {
        int index = 0; 
        Rolle rolle_2 = null;
        while (index < roller.size()) 
        {
            rolle_2 = (Rolle) roller.get(index);
            if (rolle_2.harType(rolle)) 
            {
                return rolle_2;
            }
            index++;
        }
        return null;
    }
    /**
     * Metode der henter information om en person
     * @return info om personen
     */
      public String toString()
    {
        String info = "Navn: " + getNavn() + "\n Adresse: " + getAdresse() + "\n Tlf: " + getTlf() + "\n Email: " + getEmail();
        return info;
    }
}
